/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.ihale.database;

import com.mysql.jdbc.Connection;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.ihale.Ihale;
import org.ihale.Kalem;
import org.ihale.satinalmaci.SatinAlmaci;
import org.ihale.tedarikci.Tedarikci;
import org.teklif.Teklif;

/**
 *
 * @author yakup
 */
public class DatabaseYakup {

    private Connection connection = null;
    private final String driver = "com.mysql.jdbc.Driver";
    private final String connectionString = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8";
    private final String user = "root";
    private final String password = "1234";

    public void connect() throws ClassNotFoundException, SQLException {
        Class.forName(driver);
        connection = (Connection) DriverManager.getConnection(connectionString, user, password);
        System.out.println("Jdbc Mysql Connection String :");
        System.out.println(connection);


    }

    /**
     * Disconnection method for disconnecting the database
     * @throws SQLException Disconnect sql exception
     */
    public void disconnect() throws SQLException {
        if ((this.connection != null)) {
            if (!this.connection.isClosed()) {
                this.connection.close();
            }
        }
    }

    public java.util.Date getirYakindaIhaleVarMi(SatinAlmaci satinAlmaci) {
        java.util.Date kalan = null;
        try {
            Timestamp ts = new Timestamp((new java.util.Date().getTime()));
            String query = "Select * from ihale where sat_almaci_id = ? and baslama_tarihi>='" + ts.toString() + "'";
            // "and  baslama_tarihi < ?";
            java.util.Date now = new java.util.Date();


            Timestamp bugun = new Timestamp(now.getTime());

            now.setDate(now.getDate() + 1);
            Timestamp yarin = new Timestamp(now.getTime());
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, satinAlmaci.getId());
            // ps.setTimestamp(2, yarin);

            ResultSet rs = ps.executeQuery();
            long k = 0;
            if (rs.next()) {
                k = rs.getTimestamp("baslama_tarihi").getTime() - bugun.getTime();
                kalan = new Date(k);
            }

        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return kalan;

    }

    public Map<String, String> getirKategoriMap() throws SQLException {
        Map<String, String> kategoriler = new HashMap<String, String>();
        String query = "Select * FROM kategori";
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        while (rs.next()) {
            kategoriler.put(rs.getString("kategori_adi"), Integer.toString(rs.getInt("idkategori")));

        }

        return kategoriler;

    }

    public Map<String, Map<String, String>> getirKalemlerMap() throws SQLException {
        Map<String, String> kalemler = null;
        Map<String, Map<String, String>> kalemlerData = new HashMap<String, Map<String, String>>();
        String query = "select * from kategori,kalem_tanimlama,kategori_kalem where kategori_kalem.kategori_id = kategori.idkategori and  kategori_kalem.kalem_id = kalem_tanimlama.idkalem_tanimlama";
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery(query);
        int oldId = 0;
        while (rs.next()) {
            if (oldId != rs.getInt("kategori_id")) {
                if (kalemler != null) {
                    kalemlerData.put(Integer.toString(oldId), kalemler);
                }
                kalemler = new HashMap<String, String>();


                kalemler.put(rs.getString("kalem_adi"), Integer.toString(rs.getInt("kalem_id")));
            } else {
                kalemler.put(rs.getString("kalem_adi"), Integer.toString(rs.getInt("kalem_id")));
            }
            oldId = rs.getInt("kategori_id");
        }
        if (kalemler != null) {
            kalemlerData.put(Integer.toString(oldId), kalemler);
        }


        return kalemlerData;

    }

    public void ekleKategoriKalemToIhale(Ihale seciliIhale, String kategori, String kalem) {
        try {
            //System.out.println("Ihale id"+ seciliIhale.getId );
            String query = "INSERT INTO KALEMLER (ihale_no,kalem_id) VALUES(?,?)";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, seciliIhale.getId());
            ps.setInt(2, Integer.parseInt(kalem));
            ps.executeUpdate();
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public List<Kalem> getirKalemlerForTeklif(Ihale ihale) {
        List<Kalem> kalemler = new LinkedList<Kalem>();
        //int kalem, int miktari, String birim, int baslangicFiyati, String kalemAdi, String belge, String aciklama)
        try {
            String query = "SELECT a.*,b.*,c.kategori_id FROM kalemler as a , kalem_tanimlama as b ,kategori_kalem c where ihale_no =?  and a.kalem_id =b.idkalem_tanimlama and c.kalem_id = a.kalem_id";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();
            Kalem kalem;
            while (rs.next()) {
                kalem = new Kalem(rs.getInt("idkalemler"), rs.getInt("miktari"), rs.getString("birimi"), rs.getInt("baslangic_fiyati"), rs.getString("kalem_adi"), rs.getString("belge"), rs.getString("aciklama"), rs.getInt("kategori_id"));
                kalemler.add(kalem);

            }
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return kalemler;
    }

    public void ekleTeklif(Teklif teklif, int tedId, int teklif_no) {
        try {

            String query = "INSERT INTO teklif(tedarikci_id,teklif,kalem_id,kategori_id,teklif_no) VALUES (?,?,?,?,?)";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, tedId);
            ps.setInt(2, teklif.getTeklif());
            ps.setInt(3, teklif.getKalem().getKalem());
            ps.setInt(4, teklif.getKalem().getKategoriId());
            ps.setInt(5, teklif_no);

            ps.execute();
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    public int getir_Max_Teklif_No(int tedId) {
        int teklif_no = -1;
        try {
            String query1 = "select  max(teklif_no) max_teklif_no from teklif where tedarikci_id=? group by tedarikci_id";
            PreparedStatement ps1 = connection.prepareStatement(query1);
            ps1.setInt(1, tedId);
            ResultSet rs1 = ps1.executeQuery();
            if (!rs1.next()) {
                teklif_no = 0;
            } else {
                teklif_no = rs1.getInt("max_teklif_no");
            }

            //teklif_no++;

        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return teklif_no;
    }

    public int getir_Max_Tam_Teklif_No(int tedId) {
        int teklif_no = -1;
        try {
            String query1 = "select  max(teklif_no) max_teklif_no from teklif where tedarikci_id=? group by tedarikci_id";
            PreparedStatement ps1 = connection.prepareStatement(query1);
            ps1.setInt(1, tedId);
            ResultSet rs1 = ps1.executeQuery();
            if (!rs1.next()) {
                teklif_no = 0;
            } else {
                teklif_no = rs1.getInt("max_teklif_no");
            }



        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return teklif_no;
    }

    public int varmi_KategoriKalemToIhale(Ihale seciliIhale, String kalem) {
        try {
            //System.out.println("Ihale id"+ seciliIhale.getId );
            String query = "select count(*) say from kalemler where ihale_no=? and kalem_id=?";

            PreparedStatement ps1 = connection.prepareStatement(query);
            ps1.setInt(1, seciliIhale.getId());
            ps1.setString(2, kalem);
            ResultSet rs = ps1.executeQuery();
            int temp = 0;
            if (rs.next()) {
                temp = rs.getInt("say");
            } else {
                return 0;
            }
            if (temp == 0) {
                return 0;
            } else {
                return 1;
            }
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
            return -1;
        }

    }

    public List<Teklif> getirSimdikiIhaleler(Ihale ihale) {
        List<Teklif> teklifler = new LinkedList<Teklif>();
        List<Teklif> minTeklifler = new LinkedList<Teklif>();
        try {

            String query = "select * from mydb.teklif tek, mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,"
                    + "mydb.tedarikci ted where tek.kalem_id = kal_bil.idkalemler and kal_bil.kalem_id = kal.idkalem_tanimlama "
                    + "and ted.idtedarikci = tek.tedarikci_id and kal_bil.ihale_no = ? order by tedarikci_id,tek.kalem_id";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();
            Kalem kalem;
            Teklif teklif;
            Tedarikci tedarikci;
            while (rs.next()) {
                // Kalem(int kalem, int miktari, String birim, int baslangicFiyati, String kalemAdi, String belge, String aciklama,int kategoriId) {
                kalem = new Kalem(rs.getInt("kalem_id"), rs.getInt("miktari"), rs.getString("birimi"), rs.getInt("baslangic_fiyati"), rs.getString("kalem_adi"), rs.getString("belge"), rs.getString("aciklama"), rs.getInt("kategori_id"));

                //int id, String sirketAdi, String adres, String webSite, String ilgiliKisi, String sifre, String kullaniciAdi, String eposta)
                tedarikci = new Tedarikci(rs.getInt("idtedarikci"), rs.getString("sirket_adi"), rs.getString("adres_tel"), rs.getString("websitesi"), rs.getString("ilgili_kisi"), rs.getString("sifre"), rs.getString("kullanici_adi"), rs.getString("eposta"));


                teklif = new Teklif(kalem, rs.getInt("teklif"), tedarikci, rs.getInt("idteklif"));

                teklifler.add(teklif);
            }


            String query2 = "select min(teklif) as min,tek.kalem_id from mydb.teklif tek,mydb.kalemler kal "
                    + "where kal.ihale_no = ?  and tek.kalem_id =kal.idkalemler group by tek.kalem_id ";
            PreparedStatement ps2 = connection.prepareStatement(query2);
            ps2.setInt(1, ihale.getId());
            ResultSet rs2 = ps2.executeQuery();
            while (rs2.next()) {
                kalem = new Kalem(rs2.getInt("kalem_id"), 1, "", 1, "", "", "", 1);
                teklif = new Teklif(kalem, rs2.getInt("min"));
                minTeklifler.add(teklif);
            }
            for (Teklif teklifDongu : teklifler) {

                for (Teklif teklifDongu2 : minTeklifler) {
                    if (teklifDongu.getTeklif() == teklifDongu2.getTeklif() && teklifDongu.getKalem().getKalem() == teklifDongu2.getKalem().getKalem()) {
                        teklifDongu.setMin(true);
                    }

                }


            }



            System.out.println("teklifler çekildi");

        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return teklifler;
    }

    public List<Kalem> getirIhaleKalemBilgileri(Ihale ihale) {
        List<Kalem> kalemler = new LinkedList<Kalem>();
        Kalem kalem;
        try {
            String query = "SELECT kal.*, kal_tan.*,kat.kategori_id  FROM `mydb`.`kalemler` as kal , `mydb`.`kalem_tanimlama` as kal_tan, `mydb`.`kategori_kalem` kat where ihale_no = ? and kal.kalem_id = kal_tan.idkalem_tanimlama and kat.kalem_id = kal_tan.idkalem_tanimlama";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                //int kalem, int miktari, String birim, int baslangicFiyati, String kalemAdi, String belge, String aciklama,int kategoriId
                kalem = new Kalem(rs.getInt("idkalemler"), rs.getInt("miktari"), rs.getString("birimi"), rs.getInt("baslangic_fiyati"), rs.getString("kalem_adi"), "", rs.getString("aciklama"), rs.getInt("kategori_id"));
                kalemler.add(kalem);
                System.out.println("pppp");
            }
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }

        return kalemler;
    }

    public void guncelleKalemBilgileri(List<Kalem> kalemListesi) {
        String query = "UPDATE kalemler SET miktari = ?,birimi=?,baslangic_fiyati=?,aciklama=? where idkalemler =? ";
        for (Kalem kalem : kalemListesi) {
            try {
                PreparedStatement ps = connection.prepareStatement(query);
                ps.setInt(1, kalem.getMiktari());
                ps.setString(2, kalem.getBirim());
                ps.setInt(3, kalem.getBaslangicFiyati());
                ps.setString(4, kalem.getAciklama());
                ps.setInt(5, kalem.getKalem());
                ps.executeUpdate();
            } catch (SQLException ex) {
                Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
            }


        }



    }

    public Teklif minTeklifiGetir(Ihale ihale) {
        Teklif teklif = new Teklif();
        Tedarikci tedarikci;
        try {
          /*  String query = "select min(toplam_min) as sonmin,tedarikci_id,tedarikci.* from (select sum(a.min_teklif) as toplam_min,a.tedarikci_id"
                    + " from ( select min(teklif*miktari) as min_teklif,tedarikci_id from mydb.teklif tek, mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,"
                    + "    mydb.tedarikci ted where tek.kalem_id = kal_bil.idkalemler "
                    + "and kal_bil.kalem_id = kal.idkalem_tanimlama  "
                    + " and ted.idtedarikci = tek.tedarikci_id and kal_bil.ihale_no = ? "
                    + "group by tedarikci_id,tek.kalem_id ) a group by tedarikci_id) b, mydb.tedarikci "
                    + "where tedarikci.idtedarikci = b.tedarikci_id";
sorgu hatalı olduğu için Yakup ve Mehmet tarafından Emre Beyin uyarısı üzerine düzeltildi. 07.02.2012*/
             //
            
            // tekrar hatalı olduğu i,çin düzenlendi 29.02.2012
      /* String query = " select min(toplam_min) as sonmin,tedarikci_id,tedarikci.* from"
               + " (select sum(a.min_teklif) as toplam_min,a.tedarikci_id from "
               + "( select min(teklif*miktari) as min_teklif,tedarikci_id from mydb.teklif tek, "
               + "mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,mydb.tedarikci ted,mydb.ted_ih"
               + " where tek.kalem_id = kal_bil.idkalemler and kal_bil.kalem_id = kal.idkalem_tanimlama  "
               + "and ted.idtedarikci = tek.tedarikci_id and ted.idtedarikci = ted_ih.ted_id "
               + "and ted_ih.ih_id = kal_bil.ihale_no and kal_bil.ihale_no = ? group by tedarikci_id,tek.kalem_id )"
               + " a group by tedarikci_id) b, mydb.tedarikci where tedarikci.idtedarikci = b.tedarikci_id";*/
            
            
            String query = "select toplam_min,tedarikci_id,tedarikci.*"
            +" from ((select sum(a.min_teklif) as toplam_min,a.tedarikci_id "
            +"  from ( select min(teklif*miktari) as min_teklif,tedarikci_id "
             +" from mydb.teklif tek, mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,mydb.tedarikci ted,mydb.ted_ih "
             +"where tek.kalem_id = kal_bil.idkalemler and kal_bil.kalem_id = kal.idkalem_tanimlama  and ted.idtedarikci "
            + "= tek.tedarikci_id and ted.idtedarikci = ted_ih.ted_id and ted_ih.ih_id = kal_bil.ihale_no and kal_bil.ihale_no = ? group by tedarikci_id,tek.kalem_id )"
                    + " a group by tedarikci_id) order by toplam_min asc limit 1) b,mydb.tedarikci where tedarikci.idtedarikci = b.tedarikci_id";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                //int id, String sirketAdi, String adres, String webSite, String ilgiliKisi, String sifre, String kullaniciAdi, String eposta)
                tedarikci = new Tedarikci(rs.getInt("idtedarikci"), rs.getString("sirket_adi"), rs.getString("adres_tel"), rs.getString("websitesi"), rs.getString("ilgili_kisi"), rs.getString("sifre"), rs.getString("kullanici_adi"), rs.getString("eposta"));
                teklif = new Teklif(null, rs.getInt("toplam_min"), tedarikci, tedarikci.getId());

            }
        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }

        return teklif;


    }

    public int getirİhaleyeTeklifVerenTedarikciSayisi(Ihale ihale) {
        int counter = 0;
        try {

            String query = " select count(distinct(tedarikci_id)) as sonuc from mydb.teklif tek, mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,"
                    + "mydb.tedarikci ted where tek.kalem_id = kal_bil.idkalemler and kal_bil.kalem_id = kal.idkalem_tanimlama "
                    + "and ted.idtedarikci = tek.tedarikci_id and kal_bil.ihale_no = ?";
            
            
            
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                counter = rs.getInt("sonuc");
            }


        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return counter;
    }

    public int getirİhaledekiKalemSayisi(Ihale ihale) {
        int counter = 0;
        try {

            String query = "select count(*) as sonuc from mydb.kalemler where ihale_no =?";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                counter = rs.getInt("sonuc");
            }


        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return counter;
    }

    public int[] getirTeklifVerenTedarikciIdleri(Ihale ihale) {
        int tedarikciler[] = new int[getirİhaleyeTeklifVerenTedarikciSayisi(ihale)];
        int counter = 0;
        try {

            String query = " select distinct(tedarikci_id)  from mydb.teklif tek, mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,"
                    + "    mydb.tedarikci ted where tek.kalem_id = kal_bil.idkalemler and kal_bil.kalem_id = kal.idkalem_tanimlama "
                    + "and ted.idtedarikci = tek.tedarikci_id and kal_bil.ihale_no = ?";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();

            while (rs.next()) {
                tedarikciler[counter] = rs.getInt("tedarikci_id");
                counter++;
            }


        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return tedarikciler;
    }

    public int[] getirTeklifVerilenKalemIdleri(Ihale ihale) {
        int kalemler[] = new int[getirİhaledekiKalemSayisi(ihale)];
        int counter = 0;
        try {

            String query = "select distinct(kalem_id) from mydb.kalemler where ihale_no =?";
            PreparedStatement ps = connection.prepareStatement(query);
            ps.setInt(1, ihale.getId());
            ResultSet rs = ps.executeQuery();

            while (rs.next()) {
                kalemler[counter] = rs.getInt("kalem_id");
                counter++;
            }


        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
        return kalemler;
    }

    public List<Teklif> getirSonTeklifler(Ihale ihale) {
        List<Teklif> teklifler = new LinkedList<Teklif>();
        List<Teklif> minTeklifler = new LinkedList<Teklif>();
        int kalemSayisi = getirİhaledekiKalemSayisi(ihale);
        int tedarikciSayisi = getirİhaleyeTeklifVerenTedarikciSayisi(ihale);
        int[] tedarikciIdleri = getirTeklifVerenTedarikciIdleri(ihale);
        int[] kalemIdleri = getirTeklifVerilenKalemIdleri(ihale);
        int sayacTedarikci = 0;
        int sayacKalemId = 0;
if(tedarikciIdleri.length!=0)
{
        try {

            String query = " select *  from mydb.teklif tek, mydb.kalem_tanimlama kal,mydb.kalemler kal_bil,"
                    + "mydb.tedarikci ted where tek.kalem_id = kal_bil.idkalemler and kal_bil.kalem_id = kal.idkalem_tanimlama "
                    + "and ted.idtedarikci = tek.tedarikci_id and kal_bil.ihale_no = ? and tedarikci_id =? and  idkalem_tanimlama =? order by idteklif desc limit 1";
            PreparedStatement ps = connection.prepareStatement(query);
            Kalem kalem;
            Teklif teklif;
            Tedarikci tedarikci;
            for (sayacTedarikci = 0; sayacTedarikci < tedarikciSayisi; sayacTedarikci++) {
                for (sayacKalemId = 0; sayacKalemId < kalemSayisi; sayacKalemId++) {
                    ps.setInt(1, ihale.getId());
                    System.out.println("tedarikçi sayısı "+ tedarikciSayisi+"dizi boyutu" + tedarikciIdleri.length+"sayacTedarikci"+sayacTedarikci);
                    ps.setInt(2, tedarikciIdleri[sayacTedarikci]);
                    
                    ps.setInt(3, kalemIdleri[sayacKalemId]);
                    ResultSet rs = ps.executeQuery();

                    if (rs.next()) {
                        // Kalem(int kalem, int miktari, String birim, int baslangicFiyati, String kalemAdi, String belge, String aciklama,int kategoriId) {
                        kalem = new Kalem(rs.getInt("kalem_id"), rs.getInt("miktari"), rs.getString("birimi"), rs.getInt("baslangic_fiyati"), rs.getString("kalem_adi"), rs.getString("belge"), rs.getString("aciklama"), rs.getInt("kategori_id"));

                        //int id, String sirketAdi, String adres, String webSite, String ilgiliKisi, String sifre, String kullaniciAdi, String eposta)
                        tedarikci = new Tedarikci(rs.getInt("idtedarikci"), rs.getString("sirket_adi"), rs.getString("adres_tel"), rs.getString("websitesi"), rs.getString("ilgili_kisi"), rs.getString("sifre"), rs.getString("kullanici_adi"), rs.getString("eposta"));


                        teklif = new Teklif(kalem, rs.getInt("teklif"), tedarikci, rs.getInt("idteklif"));

                        teklifler.add(teklif);
                    }





                }
            }



            String query2 = "select min(teklif) as min,tek.kalem_id from mydb.teklif tek,mydb.kalemler kal "
                    + "where kal.ihale_no = ?  and tek.kalem_id =kal.idkalemler group by tek.kalem_id ";
            PreparedStatement ps2 = connection.prepareStatement(query2);
            ps2.setInt(1, ihale.getId());
            ResultSet rs2 = ps2.executeQuery();
            while (rs2.next()) {
                kalem = new Kalem(rs2.getInt("kalem_id"), 1, "", 1, "", "", "", 1);
                teklif = new Teklif(kalem, rs2.getInt("min"));
                minTeklifler.add(teklif);
            }
            for (Teklif teklifDongu : teklifler) {

                for (Teklif teklifDongu2 : minTeklifler) {
                    if (teklifDongu.getTeklif() == teklifDongu2.getTeklif() && teklifDongu.getKalem().getKalem() == teklifDongu2.getKalem().getKalem()) {
                        teklifDongu.setMin(true);
                    }

                }


            }



            System.out.println("teklifler çekildi");

        } catch (SQLException ex) {
            Logger.getLogger(DatabaseYakup.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
        return teklifler;
    }
}
